Workshop: Tweet"Microservices Workshop"
In this workshop, we will start with a pre-built skeleton micro-service environment (message bus plus a couple of RESTful services running against it). We will then design and implement additional services to broaden the overall functionality. These additional services can be written in any language that will run on the participants laptop. While pairing is strongly encouraged, it is not required.
The focus of the workshop will be on:
Understanding how to design asynchronous service architectures
Creating small, yet functional, services rather than larger services
Reducing coupling to the bare minimum (JSON packets with extra fields ignored)
Debugging asynchronous systems
This session can accommodate up to 30 participants with pairing. If more participants are desired, in-room coach will need to be added, and may be feasible with sufficient notice.
Outline:
INTRODUCTION
Brief working definition of micro-services (15-20 minutes)
Sample service developed jointly in class (30 minutes)
Quick debugging of it (15 minutes)
FIRST SERVICE
Class will pair up and develop a defined service (same) in the language of their choice (1 hour)
Brief discussion of what worked well / not-so-well (15 minutes)
SECOND SERVICE
Start with brainstorming on ideas for additional services (20 minutes)
Turn teams / individuals loose to implement their ideas (1 hour)
Discussion on best practices observed.
THIRD SERVICE
Same as SECOND
WRAP-UP
Lessons learned about:
Service boundaries
Service complexity
Designing for asynchronous
Debugging early and often
Value of monitoring tools
NOTE: Could be shortened for 3 hours, but may be rushed.
Primarily for: Developers, Architects, etc.
Participant requirements: Notebook with Wifi, already fitted with development tools for the language of their choice.